package jdbc;

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBCTest1 {
    public static void main(String[] args) throws SQLException {
        //1. 创建数据源对象
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("000000");

        //2. 建立网络连接
        Connection connection = dataSource.getConnection();
        System.out.println(connection);

        //3. 构造 SQL 语句
        //   构造方式有很多种，目前只学习一种最主流的方式.
        //   PreparedStatement 基于这个类，构造
        String sql = "insert into student values(1,'张三')";
        PreparedStatement statement = connection.prepareStatement(sql);

        //4. 把 SQL 发送到服务器上进行执行
        //   返回值就表示，这个 sql ，影响到 几行
        int n = statement.executeUpdate();
        System.out.println(n);

        //5. 释放上述的资源
        //   释放的顺序 与 创建的顺序相反
        statement.close();
        connection.close();


    }
}
